package team.southcat.wsyygh.model.pojo.hospital;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import team.southcat.wsyygh.model.pojo.base.BaseEntity;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *
 * @author QiuSiYi
 * @since 2023-05-13
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class Hospital implements Serializable {

    private static final long serialVersionUID=1L;

    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long id;

    /**
     * 医院名称
     */
    private String hospitalName;

    /**
     * 联系人
     */
    private String contactsName;

    /**
     * 联系电话
     */
    private String contactsPhone;

    /**
     * 医院等级
     */
    private Integer hospitalType;

    /**
     * 省id
     */
    private Integer provinceId;

    /**
     * 市id
     */
    private Integer cityId;

    /**
     * 区id
     */
    private Integer districtId;

    /**
     * 详细地址（不包括省市区）
     */
    private String address;

    /**
     * logo存储路径（OSS）
     */
    private String logo;

    /**
     * 医院介绍
     */
    private String introduce;

    /**
     * 医院交通路线
     */
    private String route;

    /**
     * 医院状态
     */
    private Integer status;

    /**
     * 预约周期
     */
    private Integer bookingruleCycle;

    /**
     * 放号时间
     */
    @JsonFormat(pattern = "HH:mm", timezone = "GMT+8")
    @DateTimeFormat(pattern = "HH:mm")
    private Date bookingruleReleasetime;

    /**
     * 停挂时间
     */
    @JsonFormat(pattern = "HH:mm", timezone = "GMT+8")
    @DateTimeFormat(pattern = "HH:mm")
    private Date bookingruleStoptime;

    /**
     * 退号天数
     */
    private Integer bookingruleQuitday;

    /**
     * 退号时间
     */
    @JsonFormat(pattern = "HH:mm", timezone = "GMT+8")
    @DateTimeFormat(pattern = "HH:mm")
    private Date bookingruleQuittime;

    /**
     * 预约规则
     */
    private String bookingruleRule;

    /**
     * 预约最大人数限制（一上午或一下午限制）
     */
    private Integer bookingruleLimitMax;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    private Date updateTime;

    @TableLogic
    private Integer isDeleted;


}
